﻿using Microsoft.Xna.Framework;

namespace GameLibrary
{
    /// <summary>
    /// Used to be able to have the InputManager as a service.
    /// </summary>
    /// <remarks></remarks>
    public interface IInputManager
    {
        /// <summary>
        ///  Checks the input from a specfic player depending on platform.
        /// </summary>
        /// <param name="playerIndex">Index of the player.</param>
        /// <returns>A string describing the action</returns>
        /// <remarks></remarks>
        Constant.Action CheckInput(PlayerIndex playerIndex);

        /// <summary>
        /// Checks the user input depending on platform.
        /// </summary>
        /// <returns>A string describing the action</returns>
        /// <remarks></remarks>
        Constant.Action CheckInput();

        /// <summary>
        /// Checks the disconnect.
        /// </summary>
        /// <returns>True if a player has disconnected, false otherwise</returns>
        /// <remarks></remarks>
        bool CheckDisconnect();

        /// <summary>
        /// Gets the active players.
        /// </summary>
        /// <returns>An array of active players</returns>
        /// <remarks></remarks>
        bool[] GetActivePlayers();
    }
}